Celem projektu była analiza danych dotyczących Bitcoina, wskaźników rozwoju na świecie, cen złota, kursów wymiany walut oraz miesięcznych wyników S&P Composite oraz, na jej podstawie, próba stworzenia regresora przewidującego ceny złota.
Po wczytaniu i oczyszczeniu danych zostały one przeanalizowane i zwizualizowane. W dalszym kroku sprawdzone zostały korelacje danych z poszczególnych zbiorów z cenami złota w Dolarach amerykańskich. Krok ten wykazał między innymi, że dane dotyczące Bitcoina są słabo skorelowane z cenami złota, kurs Dolara amerykańskiego do Yuan wykazuje się silną ujemną korelacją, dane ze zbioru S&P Composite są mocno skorelowane z cenami złota, ale nie tak mocno jak wartości niektórych wskaźników rozwoju dotyczących USA i całego świata.
W ostatniej sekcji stworzony został regresor z wykorzystaniem algorytmu eXtreme Gradient Boosting.
library(dplyr)
library(tidyr)
library(ggplot2)
library(readxl)
library(plotly)
library(caret)
set.seed(997)
bitcoin_diff <-
read.csv("data/Bitcoin/BCHAIN-DIFF.csv",
header=TRUE)
bitcoin_hrate <-
read.csv("data/Bitcoin/BCHAIN-HRATE.csv",
header=TRUE)
bitcoin_mkpru <-
read.csv("data/Bitcoin/BCHAIN-MKPRU.csv",
header=TRUE)
bitcoin_trvou <-
read.csv("data/Bitcoin/BCHAIN-TRVOU.csv",
header=TRUE)
currency_exchange_rates <-
read.csv("data/CurrencyExchangeRates.csv",
header=TRUE)
gold_prices <-
read.csv("data/Gold_prices.csv",
header=TRUE,
col.names = c("date", "USD_AM", "USD_PM", "GBP_AM", "GBP_PM", "EURO_AM", "EURO_PM"))
s_p_composite <-
read.csv("data/S&PComposite.csv",
header=TRUE)
world_development_indicators <-
read_excel("data/World_Development_Indicators.xlsx",
sheet="Data",
na=c(".."))
W przypadku wszystkich zbiorów danych klasa kolumny zawierająca czas została zmieniona na POSIXct. Zbiory s_p_composite i world_development_indicators zawierają wartości wskaźników dla danych miesięcy lub lat. Dla uproszczenia łączenia z innymi zbiorami w dalszej części kolumna z datą zawiera odpowiednio pierwszy dzień danego miesiąca lub roku. Część zbiorów wymagała transformacji, tak aby każda zmienna w nich przedstawiona była w osobnej kolumnie a obserwacja w osobnym wierszu. Ze zbioru currency_exchange_rates zostały wybrane cztery waluty (wybór został wyjaśniony w części zawierającą analizę zbioru). Nazwy walut zostały zmienione na język polski. W przypadku Dolara australijskiego potrzebna była transformacja, aby wartości reprezentowały kurs Dolara amerykańskiego do Dolara australijskiego, a nie jak ma to miejsce w oryginalnym zbiorze Dolara australijskiego do Dolara amerykańskiego. W zbiorze gold_prices wartości dla danej waluty z dwóch kolumn jej dotyczących zostały połączone w jedną kolumnę zawierającą wartość średnią lub w przypadku gdy wartości z jednej kolumny brakuje - wartość z drugiej kolumny. W przypadku wszystkich zbiorów po transformacji wiersze zawierające wartości NA zostały usunięte.
bitcoin_diff <-
bitcoin_diff %>%
mutate(Date=as.POSIXct(strptime(Date, "%Y-%m-%d"))) %>%
rename(date=Date, value=Value)
bitcoin_hrate <-
bitcoin_hrate %>%
mutate(Date=as.POSIXct(strptime(Date, "%Y-%m-%d"))) %>%
rename(date=Date, value=Value)
bitcoin_mkpru <-
bitcoin_mkpru %>%
mutate(Date=as.POSIXct(strptime(Date, "%Y-%m-%d"))) %>%
rename(date=Date, value=Value)
bitcoin_trvou <-
bitcoin_trvou %>%
mutate(Date=as.POSIXct(strptime(Date, "%Y-%m-%d"))) %>%
rename(date=Date, value=Value)
currency_exchange_rates <-
currency_exchange_rates %>%
select(Date, Chinese.Yuan, Australian.Dollar, Russian.Ruble, Canadian.Dollar) %>%
rename(date=Date,
Yuan=Chinese.Yuan,
`Dolar australijski`=Australian.Dollar,
Rubel=Russian.Ruble,
`Dolar kanadyjski`=Canadian.Dollar) %>%
mutate(`Dolar australijski`=1/`Dolar australijski`) %>%
gather(waluta, value, Yuan:`Dolar kanadyjski`) %>%
mutate(waluta=as.factor(waluta), date=as.POSIXct(strptime(date, "%Y-%m-%d"))) %>%
filter(!is.na(value))
gold_prices <-
mutate(gold_prices,
USD=merge_prices(USD_AM, USD_PM),
GBP=merge_prices(GBP_AM, GBP_PM),
EURO=merge_prices(EURO_AM, EURO_PM)) %>%
select(date, USD, GBP, EURO) %>%
gather(waluta, value, USD:EURO) %>%
mutate(waluta=as.factor(waluta), date=as.POSIXct(strptime(date, "%Y-%m-%d"))) %>%
filter(!is.na(value))
s_p_composite <-
gather(s_p_composite, indicator, value, S.P.Composite:Cyclically.Adjusted.PE.Ratio) %>%
mutate(indicator=as.factor(indicator),
Year=as.POSIXct(cut(as.POSIXct(strptime(Year, "%Y-%m-%d")), "month"))) %>%
rename(date=Year, `wskaźnik`=indicator) %>%
filter(!is.na(value))
world_development_indicators <-
gather(world_development_indicators,date, value, "1970 [YR1970]":"2020 [YR2020]") %>%
mutate(year=as.POSIXct(strptime(sprintf('%s-01-01',substr(date, 1, 4)), "%Y-%m-%d"))) %>%
rename(country_name=`Country Name`, `wskaźnik`=`Series Name`) %>%
mutate(country_name=as.factor(country_name), `wskaźnik`=as.factor(`wskaźnik`)) %>%
filter(!is.na(value)) %>%
select(country_name, `wskaźnik`, year, value)
Statystyki
| date | value | |
|---|---|---|
| Min. :2009-01-02 00:00:00 | Min. :0.000e+00 | |
| 1st Qu.:2012-03-11 18:00:00 | 1st Qu.:1.689e+06 | |
| Median :2015-05-20 12:00:00 | Median :4.881e+10 | |
| Mean :2015-05-20 12:24:33 | Mean :3.664e+12 | |
| 3rd Qu.:2018-07-28 06:00:00 | 3rd Qu.:5.364e+12 | |
| Max. :2021-10-05 00:00:00 | Max. :2.505e+13 |
Zbiór zawiera 4660 obserwacji reprezentujących trudność znalezienia nowego bloku podczas kopania kryptowaluty z okresu między 2009-01-02 a 2021-10-05. Na poniższym wykresie widać, że wartości zaczęły gwałtownie rosnąć od 2017 roku z wyraźniejszymi spadkami w roku 2019 i 2021.
Statystyki
| date | value | |
|---|---|---|
| Min. :2009-01-03 00:00:00 | Min. : 0 | |
| 1st Qu.:2012-03-12 12:00:00 | 1st Qu.: 12 | |
| Median :2015-05-21 00:00:00 | Median : 356089 | |
| Mean :2015-05-21 00:24:32 | Mean : 26458258 | |
| 3rd Qu.:2018-07-28 12:00:00 | 3rd Qu.: 38265984 | |
| Max. :2021-10-05 00:00:00 | Max. :198514006 |
Zbiór zawiera 4659 obserwacji przedstawiających liczbę tera haszy na sekundę wykonywanych przez sieć Bitcoina w okresie od 2009-01-03 do 2021-10-05. Na poniższym wykresie widać podobny trend jak w przypadku trudności znalezienia nowego bloku. Potwierdza to współczynnik korelacji Pearsona, który wynosi 0.989704.
Statystyki
| date | value | |
|---|---|---|
| Min. :2009-01-02 00:00:00 | Min. : 0.0 | |
| 1st Qu.:2012-03-12 00:00:00 | 1st Qu.: 7.2 | |
| Median :2015-05-21 00:00:00 | Median : 431.9 | |
| Mean :2015-05-21 00:24:32 | Mean : 5141.2 | |
| 3rd Qu.:2018-07-29 00:00:00 | 3rd Qu.: 6499.1 | |
| Max. :2021-10-06 00:00:00 | Max. :63554.4 |
Zbiór zawierający wartości Bitcoina w Dolarach zawiera 4661 obserwacji. W okresie od 2009-01-02 do 2021-10-06 najwyższa wartość Bitcoina wyniosła 63554.44 dolarów, a średnia 5141.23 dolarów. Duży spadek, który można zaobserwować w połowie 2021 roku spowodowany został zapowiedziami Chińskiego rządu dotyczącymi regulacji odnośnie kryptowalut oraz tweetami Elona Muska na temat zablokowania możliwości płacenia za samochody marki Tesla w tej kryptowalucie czy sprzedaży przez tę firmę posiadanych Bitcoinów o wartości 1,5 mld dolarów (Źródło). Wykres wygląda podobnie do wykresu trudności znalezienia nowego bloku i szacowanej liczby tera haszy na sekundę co potwierdzają wartości współczynnika korelacji Pearsona, które wynoszą odpowiednio 0.82 i 0.82.
Korelację między trudnością znalezienia nowego bloku, szacowaną liczbą tera haszy na sekundę i wartością Bitcoina w dolarach można pokazać na jednym wykresie. W celu czytelnego pokazania wszystkich wartości poszczególnych miar zostały one znormalizowane.
| waluta | minimalna wartość | maksymalna wartość | średnia wartość | odchylenie standardowe | dane od | dane do |
|---|---|---|---|---|---|---|
| EURO | 237.02 | 1736.15 | 797.25 | 413.92 | 1999-01-04 | 2021-09-29 |
| GBP | 14.48 | 1566.94 | 370.78 | 353.31 | 1968-01-02 | 2021-09-29 |
| USD | 34.76 | 2058.15 | 575.07 | 490.06 | 1968-01-02 | 2021-09-29 |
Spośród wielu walut w oryginalnym zbiorze zostały wybrane cztery: Dolar australijski, Dolar kanadyjski, Rubel i Yuan. Są do waluty używane w państwach z największym wydobyciem złota (źródło). Wybrane zostały ze względu na późniejszą próbę przewidywania cen złota.
Statystyki
| waluta | minimalna wartość | maksymalna wartość | średnia wartość | odchylenie standardowe | dane od | dane do |
|---|---|---|---|---|---|---|
| Dolar australijski | 0.90 | 2.07 | 1.35 | 0.26 | 1995-01-04 | 2018-05-01 |
| Dolar kanadyjski | 0.92 | 1.61 | 1.27 | 0.19 | 1995-01-03 | 2018-04-30 |
| Rubel | 23.13 | 83.59 | 36.91 | 14.01 | 2003-05-05 | 2018-04-30 |
| Yuan | 6.09 | 8.75 | 7.32 | 0.86 | 1995-01-31 | 2018-05-02 |
Statystyki
| wskaźnik | minimalna wartość | maksymalna wartość | średnia wartość | odchylenie standardowe | dane od | dane do |
|---|---|---|---|---|---|---|
| CPI | 6.28 | 273.98 | 62.39 | 76.26 | 1871-01-01 | 2021-10-01 |
Indeks CPI to średnia ważona towarów i usług kupowanych przez przeciętne gospodarstwo domowe (źródło). W latach 1871-01-01 do 2021-10-01 wahał się od 6.2796132 do 273.98325. Na wykresie widać, że po roku 1973 nastąpił gwałtowniejszy wzrost wartości tego indeksu.
Statystyki
| wskaźnik | minimalna wartość | maksymalna wartość | średnia wartość | odchylenie standardowe | dane od | dane do |
|---|---|---|---|---|---|---|
| Cyclically.Adjusted.PE.Ratio | 4.78 | 44.2 | 17.21 | 7.05 | 1881-01-01 | 2021-10-01 |
Powyższy wskaźnik pomaga w ocenie czy ceny akcji na giełdzie są zawyżone. Najwyższa jego wartość wyniosła 44.1979398. Miało to miejsce w 1999 roku. Był to okres “bański internetowej” kiedy to przeceniane były wartości firm prowadzących działalność w internecie (źródło). Inna wysoka wartość widoczna na wykresie to okres początku wielkiego kryzysu (źródło2, źródło3).
Statystyki
| wskaźnik | minimalna wartość | maksymalna wartość | średnia wartość | odchylenie standardowe | dane od | dane do |
|---|---|---|---|---|---|---|
| Dividend | 0.18 | 59.68 | 6.73 | 12.07 | 1871-01-01 | 2021-06-01 |
| Real.Dividend | 5.45 | 63.51 | 17.50 | 11.11 | 1871-01-01 | 2021-06-01 |
Wartość dywidend w okresie czasu, który obejmują dane wykazują trend wzrostowy z jednym wyraźnym spadkiem w latach 2007 - 2009. Wartości faktycznych dywidend przez cały okres była większa niż wartość dywidend i wykazywała się większymi wahaniami.
Statystyki
| wskaźnik | minimalna wartość | maksymalna wartość | średnia wartość | odchylenie standardowe | dane od | dane do |
|---|---|---|---|---|---|---|
| Earnings | 0.16 | 158.74 | 15.37 | 28.93 | 1871-01-01 | 2021-06-01 |
| Real.Earnings | 4.58 | 159.50 | 34.91 | 29.84 | 1871-01-01 | 2021-06-01 |
Podobnie jak w przypadku dywidend faktyczny zysk wykazuje się większymi wahaniami i większą wartością niż zysk.
Statystyki
| wskaźnik | minimalna wartość | maksymalna wartość | średnia wartość | odchylenie standardowe | dane od | dane do |
|---|---|---|---|---|---|---|
| Long.Interest.Rate | 0.62 | 15.32 | 4.5 | 2.31 | 1871-01-01 | 2021-10-01 |
Statystyki
| wskaźnik | minimalna wartość | maksymalna wartość | średnia wartość | odchylenie standardowe | dane od | dane do |
|---|---|---|---|---|---|---|
| Real.Price | 73.9 | 4477.2 | 621.99 | 733.09 | 1871-01-01 | 2021-10-01 |
Statystyki
| wskaźnik | minimalna wartość | maksymalna wartość | średnia wartość | odchylenie standardowe | dane od | dane do |
|---|---|---|---|---|---|---|
| S.P.Composite | 2.73 | 4493.28 | 327.97 | 685.03 | 1871-01-01 | 2021-10-01 |
Zbiór opisuje 201 państw, cały świat oraz 6 kategorii wysokości przychodu przy pomocy 213 wskaźników w latach 1970-2020.
Ze względu na późniejsza próbę przewidywania cen złota będą szukane jedynie korelacje pomiędzy ceną złota w Dolarach i wartościami innych wskaźników.
Korelacje pomiędzy ceną złota a wskaźnikami rozwoju dla świata, dla których wartość bezwzględna jest większa niż 0.9:
Wartość współczynnika korelacji Pearsona Total greenhouse gas emissions (kt of CO2 equivalent) do ceny złota wynosi 0.93
Wartość współczynnika korelacji Pearsona Net official development assistance received (current US$) do ceny złota wynosi 0.92
Wartość współczynnika korelacji Pearsona Imports of goods and services (current US$) do ceny złota wynosi 0.92
Wartość współczynnika korelacji Pearsona Gross national expenditure (current US$) do ceny złota wynosi 0.91
Wartość współczynnika korelacji Pearsona Gross domestic savings (current US$) do ceny złota wynosi 0.92
Wartość współczynnika korelacji Pearsona GDP (current US$) do ceny złota wynosi 0.91
Wartość współczynnika korelacji Pearsona Exports of goods and services (current US$) do ceny złota wynosi 0.92
Wartość współczynnika korelacji Pearsona CO2 emissions from solid fuel consumption (kt) do ceny złota wynosi 0.92
Wartość współczynnika korelacji Pearsona CO2 emissions (kt) do ceny złota wynosi 0.91
Wartość współczynnika korelacji Pearsona Goods imports (BoP, current US$) do ceny złota wynosi 0.9
Wartość współczynnika korelacji Pearsona Individuals using the Internet (% of population) do ceny złota wynosi 0.9
Ponieważ wskaźniki rozwoju określane są z dokładnością do roku to przy obliczaniu korelacji wzięta została średnia cena złota w danym roku. Dodatkowo pod uwagę zostały wzięte tylko takie pary cen złota i wartości wskaźnika, które istnieją dla przynajmniej 30 lat. Wszystkie znalezione korelacja są dodatnie, a najsilniejsza z nich wynosi 0.93 i dotyczy emisji gazów cieplarnianych.
Korelacje pomiędzy ceną złota a wskaźnikami rozwoju dla Stanów Zjednoczonych, dla których wartość bezwzględna jest większa niż 0.9:
Wartość współczynnika korelacji Pearsona Net primary income (Net income from abroad) (current US$) do ceny złota wynosi 0.95
Wartość współczynnika korelacji Pearsona Net primary income (Net income from abroad) (current LCU) do ceny złota wynosi 0.95
Wartość współczynnika korelacji Pearsona Exports of goods and services (current US$) do ceny złota wynosi 0.9
Wartość współczynnika korelacji Pearsona Service exports (BoP, current US$) do ceny złota wynosi 0.9
Wartość współczynnika korelacji Pearsona Net primary income (BoP, current US$) do ceny złota wynosi 0.94
Wartość współczynnika korelacji Pearsona Net primary income (Net income from abroad) (constant LCU) do ceny złota wynosi 0.94
Podobnie jak miało to miejsce w przypadku obliczania korelacji cen złota ze wskaźnikami rozwoju dla świata użyte zostały średnie ceny złota w danym roku. Również wykorzystane zostały jedynie te pary wskaźnik-cena złota, dla których istnieją dane z co najmniej 30 lat. Najsilniejsze korelacje dotyczą zysku netto (Net primary income (Net income from abroad) (current US$), Net primary income (Net income from abroad) (current LCU), Net primary income (BoP, current US$) i Net primary income (Net income from abroad) (constant LCU)).
Korelacje pomiędzy ceną złota a wskaźnikami z S&P Composite, dla których wartość bezwzględna jest większa niż 0.75 (w zbiorze nie ma tak silnych korelacji ja w zbiorze ze wskaźnikami rozwoju):
Wartość współczynnika korelacji Pearsona S.P.Composite do ceny złota wynosi 0.82
Wartość współczynnika korelacji Pearsona Dividend do ceny złota wynosi 0.88
Wartość współczynnika korelacji Pearsona Earnings do ceny złota wynosi 0.86
Wartość współczynnika korelacji Pearsona CPI do ceny złota wynosi 0.83
Wartość współczynnika korelacji Pearsona Real.Dividend do ceny złota wynosi 0.83
Wartość współczynnika korelacji Pearsona Real.Earnings do ceny złota wynosi 0.78
Ponieważ wskaźniki ze zbioru S&P Composite są wyznaczone z dokładnością co do miesiąca to do obliczenia korelacji została wykorzystana średnia cena złota dla danego miesiąca. W zbiorze tym najsilniejsze korelacje z ceną złota mają dywidendy i zysk. Wszystkie znalezione korelacje są dodatnie.
Korelacje pomiędzy ceną złota a kursem Dolara amerykańskiego do wybranych walut, dla których wartość bezwzględna jest większa niż 0.75:
Korelacja kursu Dolar amerykański/Yuan do ceny złota wynosi -0.95
Korelacja kursu Dolar amerykański/Dolar kanadyjski do ceny złota wynosi -0.76
Spośród wybranych walut najsilniejsze korelacje (w obu przypadkach ujemne) mają kursy Dolara amerykańskiego do Yuana i Dolara kanadyjskiego.
Współczynnik korelacji Pearsona bitcoin_diff do ceny złota wynosi 0.39
Współczynnik korelacji Pearsona bitcoin_hrate do ceny złota wynosi 0.38
Współczynnik korelacji Pearsona bitcoin_mkpru do ceny złota wynosi 0.34
Współczynnik korelacji Pearsona bitcoin_trvou do ceny złota wynosi 0.25
Korelacje ceny złota i wskaźników dotyczących Bitcoina są małe. Dodatkowo dane dotyczące Bitcoina pochodzą z krótkiego okresu czasu w porównaniu do wskaźników z innych zbiorów oraz do cen złota. Z tego powodu nie zostaną one wzięte pod uwagę przy próbie przewidywania cen złota.
Celem tej sekcji jest stworzenie modelu przewidującego ceny złota w Dolarach amerykańskich.
Zbiór danych został przygotowany w następujący sposób - dla każdej daty, której przyporządkowana jest cena złota w Dolarach:
została przyporządkowana wartość wskaźnika rozwoju świata z odpowiadającego jej roku. Wzięte zostały pod uwagę wskaźnika dla świata i USA, dla których wartość absolutna współczynnika korelacji Pearsona była większa niż lub równa 0,9. W przypadku USA spośród czterech wskaźników odnoszących się do zysku netto wybrano jedynie Service exports (BoP, current US$).
została przyporządkowana wartość wskaźnika ze zbioru S&P Composite z odpowiadającego jej miesiąca. Wybrane zostały wskaźniki, dla których wartość absolutna współczynnika korelacji Pearsona była większa niż lub równa 0,75.
Kurs Dolara amerykańskiego do Yuana i Dolara kanadyjskiego z danego dnia.
Następnie z powstałej ramki danych zostały usunięte te wiersze, które zawierają przynajmniej jedną wartość NA i kolumny reprezentujące daty. W kolejnym kroku zbiór został podzielony na treningowy (80%) i testowy (20%).
Do stworzenie regresora wykorzystany został algorytm eXtreme Gradient Boosting. Jako schemat uczenia wykorzysta została powtórzona ocena krzyżowa z pięcioma podziałami i dwoma powtórzeniami. Najlepsze parametry modelu zostały dobrane automatycznie przez bibliotekę caret.
ctrl <- trainControl(
method = "repeatedcv",
number = 5,
repeats = 2)
fit <- train(value ~ .,
data = train,
method = "xgbLinear",
trControl = ctrl)
predictions <- predict(fit, newdata = test)
metrics <- postResample(pred = predictions, obs = test$value)
Do oceny modelu zostały wykorzystane zostały miary RMSE (pierwiastek błędu średniokwadratowego), R2 (współczynnik determinacji) oraz MAE (średni błąd bezwzględny). Są to miary przeznaczone do oceny modeli regresyjnych. Wartość RMSE wyniosła 15.3157754 co oznacza, że ceny złota przewidziane przez model różniły się średnio od rzeczywistych o 15.3157754 Dolarów. Miara R2 wyniosła 0.9989669. Tak wysoka wartość świadczy o wysokim dopasowaniu do danych. Średni błąd bezwzględny wyniósł 10.0454469.
Dwoma miarami, które okazały się najważniejsze w procesie uczenia były współczynnik CPI i kurs Dolara do Yuana. Mają one bardzo dużą przewagę nad pozostałymi użytymi miarami. Warto zauważyć, że wiele wskaźników, które wykazywały się dużą korelacją z ceną złota nie zostało użytych przy uczeniu modelu albo miało na niego mały wpływ. Może być to spowodowane decyzją o wypełnianiu brakujących danych dotyczących wartości wskaźnika danego dnia wartością, którą przyjmował on w danym roku. W przypadku Yuana, który cechował się dużą korelacją z ceną złota i którego brakujące wartości nie były w żaden sposób uzupełniane wyraźnie widać wpływ na model.
| miara | ważność |
|---|---|
| CPI | 0.4753935 |
| Yuan | 0.4014632 |
| Earnings | 0.0537975 |
Dolar kanadyjski |
0.0393214 |
Goods imports (BoP, current US$) |
0.0126854 |
| Dividend | 0.0086590 |
CO2 emissions (kt) |
0.0054352 |
Net primary income (Net income from abroad) (current US$) |
0.0018513 |
| S.P.Composite | 0.0006400 |
| Real.Earnings | 0.0003410 |
| Real.Dividend | 0.0003174 |
Net official development assistance received (current US$) |
0.0000806 |
Individuals using the Internet (% of population) |
0.0000107 |
Exports of goods and services (current US$) World |
0.0000037 |
Exports of goods and services (current US$) USA |
0.0000000 |
Gross domestic savings (current US$) |
0.0000000 |
GDP (current US$) |
0.0000000 |
Gross national expenditure (current US$) |
0.0000000 |
Imports of goods and services (current US$) |
0.0000000 |
Total greenhouse gas emissions (kt of CO2 equivalent) |
0.0000000 |
Service exports (BoP, current US$) |
0.0000000 |